package com.ruoyi.report.domain.csv;

import com.opencsv.bean.CsvBindByName;
import lombok.Data;

import java.math.BigDecimal;

@Data
public class ItemPerformanceReportCsv {

    @CsvBindByName(column = "Product Name")
    private String productName;

    @CsvBindByName(column = "Item ID")
    private String itemId;

    @CsvBindByName(column = "SKU ID")
    private String skuId;

    @CsvBindByName(column = "Super Department")
    private String superDepartment;

    @CsvBindByName(column = "Department")
    private String department;

    @CsvBindByName(column = "Category")
    private String category;

    @CsvBindByName(column = "Sub Category")
    private String subCategory;

    @CsvBindByName(column = "Brand")
    private String brand;

    @CsvBindByName(column = "GMV")
    private BigDecimal gmv;

    @CsvBindByName(column = "Commission")
    private BigDecimal commission;

    @CsvBindByName(column = "GMV-Commission")
    private BigDecimal gmvCommission;

    @CsvBindByName(column = "AUR")
    private BigDecimal aur;

    @CsvBindByName(column = "Total Units Sold")
    private BigDecimal totalUnitsSold;

    @CsvBindByName(column = "Cancelled Units")
    private BigDecimal cancelledUnits;

    @CsvBindByName(column = "Cancelled Sales")
    private BigDecimal cancelledSales;

    @CsvBindByName(column = "Item Conversion Rate")
    private BigDecimal itemConversionRate;

    @CsvBindByName(column = "Base Item Id")
    private String baseItemId;

    @CsvBindByName(column = "Total Product Visits")
    private BigDecimal totalProductVisits;

    @CsvBindByName(column = "GMV Comp %")
    private BigDecimal gmvCompPercent;

    @CsvBindByName(column = "Authorized Orders")
    private BigDecimal authorizedOrders;

    @CsvBindByName(column = "Authorized Units")
    private BigDecimal authorizedUnits;

    @CsvBindByName(column = "Authorized Sales")
    private BigDecimal authorizedSales;

    @CsvBindByName(column = "Total LY GMV")
    private BigDecimal totalLyGmv;

    @CsvBindByName(column = "Product Level Pageviews")
    private BigDecimal productLevelPageviews;

    @CsvBindByName(column = "Product Level Conversion Rate")
    private BigDecimal productLevelConversionRate;

    @CsvBindByName(column = "Refunded Sales")
    private BigDecimal refundedSales;
}
